Passing shared_ptr as shared_ptr

Although Base and Derived are covariant and raw pointers to them will act accordingly shared_ptr.

Sounds like you're trying too hard. Shared_ptr is cheap to copy; that's one of its goals. Passing them around by reference doesn't really accomplish much.

If you don't want sharing, pass the raw pointer.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.